package com.aliwo.exception;

/**
 * @author:xuyayuan
 * @date:2021/7/26 9:54
 * @description:TODO
 */
public class AppException extends RuntimeException {

    private static final long serialVersionUID = 5379435417771549712L;

    private String errorCode;

    private String i18nMsgCode;

    private Object[] i18nMsgData;

    public AppException(String defaultMsg) {
        super(defaultMsg);
    }

    public AppException(String defaultMsg, Throwable cause) {
        super(defaultMsg, cause);
    }

    public AppException(String errorCode, String defaultMsg) {
        super(defaultMsg);
        this.errorCode = errorCode;
    }

    public AppException(String errorCode, String defaultMsg, String i18nMsgCode, Object... i18nMsgData) {
        super(defaultMsg);
        this.errorCode = errorCode;
        this.i18nMsgCode = i18nMsgCode;
        this.i18nMsgData = i18nMsgData;
    }

    public AppException(Throwable cause, String errorCode, String defaultMsg, String i18nMsgCode,
                        Object... i18nMsgData) {
        super(defaultMsg, cause);
        this.errorCode = errorCode;
        this.i18nMsgCode = i18nMsgCode;
        this.i18nMsgData = i18nMsgData;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public String getI18nMsgCode() {
        return i18nMsgCode;
    }

    public Object[] getI18nMsgData() {
        return i18nMsgData;
    }
}
